Accessible markup language defined slider control

ABSTRACT

An accessible markup language specified slider control. A slider control which has been configured for rendering in a content browser in accordance with the present invention can include a script controlled slider track; a markup language specified text input field; and, coordination and control logic coupled both to the slider track and the text input field to harmonize a position of the slider track and a value specified in the text input field. The markup language specified text input field and the script controlled slider track can be defined in a DHTML document. Moreover, the coordination and control logic further can include a coupling to browser settings for the content browser to selectively enable and disable the slider track based upon the browser settings.

BACKGROUND OF THE INVENTION

1. Statement of the Technical Field

The present invention relates to processing a dynamic markup languagedocument specified computer program and more particularly to anaccessible slider control defined within a dynamic markup languagespecified computer program.

2. Description of the Related Art

Prior to the popularization of the Internet and the subsequentimplementation of the World Wide Web (“the Web”), software publisherstypically distributed computer applications via storage media such as acomputer diskette or compact disc. Initially, such stand-alone computerapplications included underlying program logic, data storage and,optionally, a user interface. Recently, given the popularization of theInternet and the Web, it is no longer reasonable to presume thatcomputer applications are distributed exclusively via disk medium.Rather, in many cases, conventional computer programs are distributedelectronically via the Internet. More importantly, however, in manycases computer applications are no longer distributed as stand-aloneexecutable programs. Rather, many computer applications are distributedas markup language specified, browser based applications which caninclude a collection of hypermedia documents such as Web pages which canbe viewed in hypermedia content browsers such as Web browsers.

In the case of a markup language specified computer program, users caninteract with the underlying program logic not through a traditionalGUI, but through a GUI provided by GUI elements embedded in a hypermediadocument displayed in a content browser. Specifically, conventionalmarkup can specify a user interface and corresponding logic which can beprocessed and rendered through use of a content browser. Contentbrowsers, in turn, can process display attributes embedded in markup toproperly format content also contained within the markup. Notablevariants of the content browser include the venerable Web browser, aswell as the more recent extensible markup language (XML) browser.Regardless of the type of browser, all conventional markup processorsare preconfigured to parse and interpret attribute tags embedded inmarkup.

Markup language defined applications often have the need to present auser interface control in which a bounded range value must be specified.Slider controls which generally are well-known in the art, often areapplied to control the specification of a bounded range in a GUI. In theprototypical slider control, a graphical control point can slide along a“track” that has both starting and ending points which correspond to thebounds of a valid entry range. Accordingly, given the clear importanceof the slider control, though static markup languages do not provide abuilt-in mechanism for a slider control, dynamic forms of markuplanguages have been able to emulate the slider control.

Concurrently with the development of markup language definedapplications, for more than ten years, computer scientists and engineershave addressed the accessibility of the computer program userinterface--particularly for the benefit of those end users unable tointeract with a computer program utilizing conventional means such as amouse or keyboard. Presently, several assistive technologies have beenwidely distributed, usually in concert with the distribution of anoperating system, to provide one or more alternative user interfacemechanisms for the purpose of enhanced accessibility. Examples ofassistive technologies include an audio user interface such as a screenreader.

Assistive technologies have proven to be highly successful amongvisually challenged computing end users. Yet, assistive technologieshave not yet adapted to the underlying changes in respect to the modernform of the computer program. Specifically, whereas in a conventionallydistributed computer program, assistive technologies like the screenreader can be easily enabled, markup language specified computerprograms have not yet enjoyed the comprehensive integration of assistivetechnologies. In particular, dynamic implementations of markup languagesand scripting aspects of markup languages, such as the popular dynamichypertext markup language (DHTML) cannot always support importantaspects of assistive technologies such as precise user interface elementfocus establishment.

In fact, it is well known that DHTML specified applications definingcertain, complex user interface widgets cannot support accessibletabbing across constituent elements. Consequently, heretofore thespecification of a slider control in a dynamic markup language cannotalso enjoy the accessibility provided by assistive technologies.Accordingly, applications developers often must choose between providinga technically simplified albeit accessible markup language specifiedapplication, and providing a technologically advanced DHTML specifiedapplication which lacks desired accessibility features.

SUMMARY OF THE INVENTION

The present invention addresses the deficiencies of the art in respectto markup language defined computer programs and provides a novel andnon-obvious accessible markup language specified slider control. In thisregard, a slider control which has been configured for rendering in acontent browser in accordance with the present invention can include ascript controlled slider track; a markup language specified text inputfield; and, coordination and control logic coupled both to the slidertrack and the text input field to harmonize a position of the slidertrack and a value specified in the text input field. The markup languagespecified text input field and the script controlled slider track can bedefined in a DHTML document. Moreover, the coordination and controllogic further can include a coupling to browser settings for the contentbrowser to selectively enable and disable the slider track based uponthe browser settings.

A method for managing a slider control in a markup language specifiedcomputer program can include detecting user manipulation of one of aslider track and a text input field in the slider control and,responsive to the detection, harmonizing a position of the slider trackwith a value disposed in the text input field. The method further caninclude determining whether a content browser hosting the markuplanguage specified computer program is enabled to process script logicin the markup language specified computer program. If the contentbrowser hosting the markup language specified computer program is notenabled to process script logic in the markup language specifiedcomputer program, the slider track can be disabled in the slidercontrol. Finally, the method can include detecting a changed value inthe text input field; and, passing the changed value to acommunicatively coupled assistive tool.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a schematic illustration of a system for managing anaccessible markup language defined slider control; and,

FIG. 2 is a flow chart illustrating a process for managing an accessiblemarkup language defined slider control.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is an accessible markup language defined slidercontrol. In accordance with the present invention, an accessible markuplanguage defined slider control can include a static markup specifiedtext field disposed in a script managed slider track. Either the textfield or the slider track can be manipulated to specify a value boundedby the upper and lower endpoints of a range defined by the slidercontrol. To that end, coordination and control logic can manage theharmonization of operation of the slider track and the text field.Importantly, to enable and preserve accessibility for the slidercontrol, the slider track can be disabled where a host content browsercannot support the operation of a script, while the text field canremain operable to support interactions with an assistive tool.

In further illustration, FIG. 1 is a schematic illustration of a systemfor managing an accessible markup language defined slider control. Asshown in FIG. 1, the system can include a content browser 110 configuredto process markup 130 to render a markup language specified program 140.In a particular aspect of the present invention, the markup 130 can be adynamic markup language specified document, such as a DHTML specifieddocument. Notably, a slider control 150 can be defined by the markup 130for rendering in the content browser 110. In this regard, both staticmarkup language attributes and script logic disposed in the markup 130can combine to define the appearance, placement and functionality of theslider control 150 in the markup language specified computer program140.

More particularly, the slider control 150 can include both a text fieldcontrol 170 and a slider track 160. Script logic included as part of theslider control 150 can control the operation of the slider track 10 suchthat the physical positioning of the slider track 160 can produce avalue for the variable bounded by the lower and upper endpoints of therange of the slider control 150. By comparison, static markup alsoincluded as part of the slider control 150 further can provide an inputfield for accepting a value for the variable bounded by the lower andupper endpoints of the range of the slider control 150. Accordingly, theslider control 140 can accept input for a specified variable, whichvariable can be bounded by a range having an upper endpoint and a lowerendpoint, through either the slider track 160 or the text field 170.

To harmonize the use of either or both of the slider track 160 and thetext field 170, coordination and control logic 120 can be coupled to ordisposed in the markup 130. The coordination and control logic 120 canprocess text input in the text field 170 to programmatically adjust theslider track 160 as if an end user had directly manipulated the slidertrack 160. Conversely, the coordination and control logic 120 canprocess movement of the slider track 160 to programmatically adjust thevalue displayed in the text field 170 as if an end user had directlyprovided input to the text field 170.

Importantly, to ensure graceful degrading where the content browser 110cannot process script logic according to browser settings 190, thecoordination and control logic 120 can disable the slider track 160 insuch circumstances while providing the text field 170 as the sole modeof providing a value in the slider control 150. In this way,compatibility with a coupled assistive tool 180 can be ensured. Ofcourse, where both the slider track 160 and the text field 170 have beenactivated, the harmonization of the slider track 160 with the valuedisplayed in the text field 170 can ensure proper compatibility with thecoupled assistive tool 180.

In further illustration, FIG. 2 is a flow chart illustrating a processfor managing an accessible markup language defined slider control.Initially, when the markup first is loaded, in block 210 the browserconfiguration for the content browser can be checked and in decisionblock 220 it can be determined whether the content browser can processscript logic in the markup. If not, in block 230 only the text field inthe slider control can be enabled. Otherwise, in block 240 both the textfield and slider track in the slider control can be enabled.

In either case, in block 250 user input can be accepted through the userinterface defined by the markup. When interaction is detected with theslider control, in decision block 260 it can be determined whether theinteraction has occurred in the text field or in the slider track. If itis determined that the interaction has occurred in the text field, inblock 270 the slider track can be adjusted to a location consistent withthe new value in the text field. Similarly, if it is determined that theinteraction has occurred in the slider track, in block 280 the textfield value can be changed to correspond to the value associated withthe new position of the slider track. Again, in either case, theintegration of the text field in the slider control can ensureaccessibility in respect to the operation of the slider control in theuser interface defined by the markup.

The present invention can be realized in hardware, software, or acombination of hardware and software. An implementation of the methodand system of the present invention can be realized in a centralizedfashion in one computer system, or in a distributed fashion wheredifferent elements are spread across several interconnected computersystems. Any kind of computer system, or other apparatus adapted forcarrying out the methods described herein, is suited to perform thefunctions described herein.

A typical combination of hardware and software could be a generalpurpose computer system with a computer program that, when being loadedand executed, controls the computer system such that it carries out themethods described herein. The present invention can also be embedded ina computer program product, which comprises all the features enablingthe implementation of the methods described herein, and which, whenloaded in a computer system is able to carry out these methods.

Computer program or application in the present context means anyexpression, in any language, code or notation, of a set of instructionsintended to cause a system having an information processing capabilityto perform a particular function either directly or after either or bothof the following a) conversion to another language, code or notation; b)reproduction in a different material form. Significantly, this inventioncan be embodied in other specific forms without departing from thespirit or essential attributes thereof, and accordingly, referenceshould be had to the following claims, rather than to the foregoingspecification, as indicating the scope of the invention.

1. A slider control configured for rendering in a content browser, theslider control comprising: a script controlled slider track; a markuplanguage specified text input field; and, coordination and control logiccoupled both to said slider track and said text input field to harmonizea position of said slider track and a value specified in said text inputfield.
 2. The slider control of claim 1, wherein said markup languagespecified text input field and said script controlled slider track aredefined in a dynamic hypertext markup language (DHTML) document.
 3. Theslider control of claim 1, wherein said coordination and control logicfurther comprises a coupling to browser settings for the content browserto selectively enable and disable said slider track based upon saidbrowser settings.
 4. A method for managing a slider control in a markuplanguage specified computer program, the method comprising the steps of:detecting user manipulation of one of a slider track and a text inputfield in the slider control; and, responsive to said detection,harmonizing a position of said slider track with a value disposed insaid text input field.
 5. The method of claim 4, further comprising thesteps of: determining whether a content browser hosting the markuplanguage specified computer program is enabled to process script logicin said markup language specified computer program; and, if said contentbrowser hosting the markup language specified computer program is notenabled to process script logic in said markup language specifiedcomputer program, disabling said slider track in the slider control. 6.The method of claim 4, further comprising the steps of: detecting achanged value in said text input field; and, passing said changed valueto a communicatively coupled assistive tool.
 7. A machine readablestorage having stored thereon a computer program for managing a slidercontrol in a markup language specified computer program, the computerprogram comprising a routine set of instructions which when executed bya machine causes the machine to perform the steps of: detecting usermanipulation of one of a slider track and a text input field in theslider control; and, responsive to said detection, harmonizing aposition of said slider track with a value disposed in said text inputfield.
 8. The machine readable storage of claim 7, further comprising anadditional set of instructions for causing the machine to furtherperform the steps of: determining whether a content browser hosting themarkup language specified computer program is enabled to process scriptlogic in said markup language specified computer program; and, if saidcontent browser hosting the markup language specified computer programis not enabled to process script logic in said markup language specifiedcomputer program, disabling said slider track in the slider control. 9.The machine readable storage of claim 7, further comprising anadditional set of instructions for causing the machine to furtherperform the steps of: detecting a changed value in said text inputfield; and, passing said changed value to a communicatively coupledassistive tool.